import './assets/reset.less'; // sdk初始化样式
import VNode from './utils/vnode'; // 核心虚拟节点
import Store from './utils/store'; // 状态管理器
import loginVNode from './login'; // 登录模块

module.exports = class H5JSSDK {
  constructor() {
    const store = new Store({
      account: '', // 登录账号
      password: '', // 登录密码
    });
    VNode.use('store', store); // 使用状态管理器
  }

  /**
   * 关闭指定功能
   * @param {*} className
   */
  close(className) {
    try {
      const node = document.querySelector(`.${className}`);
      node.parentNode.removeChild(node);
    } catch (error) {
      console.error(error);
    }
  }

  /**
   * 登录接口
   * @param {*} param0 回调配置
   * @return {*} 返回类名
   */
  login({ success = () => { }, fail = () => { } }) {
    const node = loginVNode.render({ success, fail });
    const classsName = `h5jssdk-login-${new Date().getTime()}`;
    node.classList.add(classsName);
    document.body.appendChild(node); // 追加到页面上
    return classsName;
  }

  /**
   * 支付
   */
  pay() { }
}
